/**
 * 
 */
package com.feeyin.radar.crm.dao;

import java.util.List;
import java.util.Map;

import com.feeyin.radar.commons.Page;
import com.feeyin.radar.crm.model.CaseAttach;
import com.feeyin.radar.crm.model.ContractCase;
import com.feeyin.radar.crm.model.CostManage;
import com.feeyin.radar.crm.model.Process;
import com.feeyin.radar.crm.model.ProcessGroup;

/**
 * @author E547415
 *
 */
public interface ContractCaseDAO 
{
	
	public List<ContractCase> getContractCasesByContractCode(String contractCode);
	
	public ContractCase getContractCasesById(Integer caseId);
	
	public ProcessGroup getProcessGroupById(Integer groupId);
	
	public Integer getPageAllProcessCount(Integer indexFlag, Integer groupId);
	
	public List<Process> getPageAllProcess(Integer indexFlag, Integer groupId);
	
	public Long selectCaseSeq()throws Exception;
	
	public void saveContractCase(List<ContractCase>oldCaseList , Long contractId);
	
	public void delContractCase(Long caseId);
	
	public Long saveAttachCase(CaseAttach ca);

	void delAttachCase(Map map);

	Long getContractCaseByUser_id_Dept_Count(Map map);

	List<Map> getContractCaseByUser_id_Dept(Map map,Page page);

	List<CaseAttach> getCaseAttach(Long caseId, boolean isSub);
	
	public List<ContractCase> getContractCaseListByIds(String[] caseIds);
	
	public Integer insertCost(CostManage costManage);

	public List<CostManage> getCostManageListByDynamica(CostManage cost);
	
	public Integer updateContractCase(ContractCase contractCase);
	
	public CostManage getCostManageById(Integer id);
	
	public Integer updateCostManage(CostManage costManage);
}
